杨辉三角 算法


最近,看一些东西突然碰到了杨辉三角,有点懵,故查了点资料,

首先看一下杨辉三角形式:


首先,要想编程解决杨辉三角,必先了解其性质:



上述那么多,我们真正需要的也就是第一个,每个数等于它上方两数之和。



C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include<cstdio>
#include<iostream>
using  namespace  std;
long  long  int  Triangle[1000][1000];
int  main()
{
     Triangle[1][1]=1; //初始化 
     Triangle[2][1]=1;Triangle[2][2]=1;
     for ( int  i=3;i<=50;i++) //制作三角。 
     {
         for ( int  j=1;j<=i;j++)
         {
             Triangle[i][j]=Triangle[i-1][j-1]+Triangle[i-1][j];
         }
     }
     for ( int  i=1;i<=50;i++) //输出 
     {
         for ( int  j=1;j<=i;j++)
         {
             cout<<Triangle[i][j]<< "  " ;
         }
         cout<<endl;
     }
     return  0;
}


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class  Program
{
   public  int  yanghui( int  value)
   {
   if (value<3)  return  1;
   int [,]arry= new  int [value,value];
   Console.WriteLine( "数组为:" );
   for ( int  i=0;i<value;i++)
   {
     string  str= "" ;
     str=str.PadLeft(value-i);
     Console.Write(str);
     for ( int  j=0;j<=i;j++)
     {
       if (i==j||j==0)
         arry[i,j]=1;
       else
         arry[i,j]=arry[i-1,j-1]+arry[i-1,j];
       Console.Write(arry[i,j]+ "" );
     }
     Console.WriteLine();
   }
}
  
static  void  Main( string []args)
{
   Program p= new  Program();
   Console.WriteLine( "请输入数组值:" );
   if  (p.yanghui(Convert.ToInt16(Console.ReadLine())))
     Console.WriteLine( "输入数值必须大于3" );
   Console.Readkey();
}
  
}



C
以下的代码均用标准 C 语言写成,可以被包括 MSVC(含 VC6)、GCC 的多种 C 编译器编译。
这个算法使用只行列位置和左侧的数值算出数值:
1
2
3
4
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值